package at.fhooe.mcm12.java.interfaces;

import java.rmi.Remote;
import java.rmi.RemoteException;

import at.fhooe.mcm12.java.enums.SensorType;
import at.fhooe.mcm12.java.sensors.data.SensorValue;

public interface RMISensorInterface extends Remote {
	
	public static final String HOST = "172.20.10.9"; //"10.28.12.53";

	public String getName() throws RemoteException;
	
	public void setName(String _name) throws RemoteException;
	
	public SensorType getSensorType() throws RemoteException;
	
	public void setSensorType(SensorType _sensorType) throws RemoteException;
	
	public String getDescription() throws RemoteException;
	
	public void setDescription(String _description) throws RemoteException;
	
	public SensorValue getDataType() throws RemoteException;
	
	public void setDataType(SensorValue _dataType) throws RemoteException;
	
	public boolean isActive() throws RemoteException;
	
	public void setActive(boolean _active) throws RemoteException;
	
	public boolean isSubscribable() throws RemoteException;
	
	public void setSubscribable(boolean _subscribable) throws RemoteException;
	
	public void addSensorListener(ISensorListener _listener) throws RemoteException;
	
	public void removeSensorListener(ISensorListener _listener) throws RemoteException;
	
	public int getUpdateInterval() throws RemoteException;
	
	public void setUpdateInterval(int _updateInterval) throws RemoteException;
}
